技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
25
0
佛心分享-IT 人自學之術
區塊鏈技術應用
系列 第
25
篇
邊界情況測試
16th鐵人賽
alex7777
2024-10-09 15:55:23
714 瀏覽
分享至
Boundary Condition Testing
是一種專注於測試系統極端情況的測試方法,這樣可以確保系統在特殊或邊界條件下依然能正常工作。
1.邊界情況測試類型
時間限制測試:設置了捐款的截止日期。
目標達成測試:測試在達成或未達成目標後的操作行為。
捐款者身份測試:測試不同身份的賬戶是否能進行正確操作。
極限金額測試:使用非常小或非常大的捐款金額,檢查系統是否能正確處理這些金額。
多賬戶交互測試:不同的捐款者同時進行操作,檢查合約是否能正確跟踪每個人的捐款。
時間限制測試範例
目標是募集 10 ETH,持續時間設定為 3600 秒(1 小時)。
web3.utils.toWei:將 10 ETH 轉換為 wei(智能合約使用的最小單位)。
time.increase:這是用來模擬區塊鏈時間的函數,這裡將時間增加 3601 秒,超過設定的 1 小時限制。
由於超過時間,合約應該拒絕捐款,並拋出帶有錯誤訊息 Crowdfunding has ended 的異常。
捐款者身份測試範例
contributor 捐款 5 ETH 進入合約,這是為了確保合約內有資金可以提款。
模擬 nonContributor 嘗試執行提款操作,這個帳戶並不是合約擁有者。
使用 web3.eth.getBalance(owner) 獲取合約擁有者的 ETH 餘額。
使用 assert 確認提款後擁有者的餘額是否增加,證明提款成功。
留言
追蹤
檢舉
上一篇
Web3.js 集成
下一篇
前端交互測試
系列文
區塊鏈技術應用
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
前端交互測試
27
如何在 Web3.js 中監聽智能合約事件
28
Crowdfunding
29
常見的智能合約安全漏洞
30
常見的智能合約安全漏洞2
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
WSUS伺服器近期客戶端更新都會出現0x80244010
vs code不能執行npm找了很多方法
outlook2024 郵件圖檔無法顯示的情況
熱門回答
vs code不能執行npm找了很多方法
WSUS伺服器近期客戶端更新都會出現0x80244010
outlook2024 郵件圖檔無法顯示的情況
熱門文章
【 AI Agents 架構】很多人都在談 Loop Engineering,但實際上到底要怎麼做?
[Tedium Is Stability-02] 與 AI 一起開發,看見冰山:一個「功能」,其實是一組沒說出口的隱形契約
【AI Agent 架構】從 0 開始學 AI Agent ,含 22 章完整教學
清洗 14 年台灣實價登錄資料,我踩到的坑
[Backup] 備份放哪裡才安全?從3-2-1原則聊到現代企業的做法
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}